#ifndef _h_mlib
#define _h_mlib

int s_to_i(char *s, int def = -1);

const int rand_maxval = 1 << 30;
int random_int();
double random_real();
double sqr(double x);

template<class T> bool set_max(T &x, T y) {
	if (y > x) { x = y; return true; }
	return false;
}

template<class T> bool set_min(T &x, T y) {
	if (y < x) { x = y; return true; }
	return false;
}

#endif
